#ifndef __avl_H__
#define __avl_H__

#define datatype int

typedef struct AVLNode
{
	datatype data;
	int bf; //平衡因子
	struct AVLNode *leftchild;
	struct AVLNode *rightchild;

} AVLNode;

typedef struct AVLTree
{
	AVLNode *root;
} AVLTree;

void InitAVLTree(AVLTree *avl);

int InsertAVLNode(AVLNode **node, datatype *x);

int RemoveAVLTree(AVLNode **node, datatype *key);

#endif
